package com.punai.config.sqlitedomain;

import com.punai.common.utils.sqlite.SLTDesc;
import com.punai.common.utils.sqlite.SLCDesc;

import java.util.*;

@SLTDesc(tName = "tab_config_engineer_class")
public class ConfigEngineerClass {

    @SLCDesc(tc = "ID")
    private String id;
    @SLCDesc(tc = "NAME")
    private String name;
    @SLCDesc(tc = "CODE")
    private String code;

    /**
     * parentId
     */
    @SLCDesc(tc = "PARENT_ID")
    private String parentId;

    /**
     * FEATURE_TYPE
     */
    @SLCDesc(tc = "FEATURE_TYPE")
    private String featureType;
    @SLCDesc(tc = "CREATE_DATE")
    private Date createDate;
    @SLCDesc(tc = "EDIT_STATE")
    private Integer editState;
    @SLCDesc(tc = "LAST_MODIFY")
    private Date lastModify;
    @SLCDesc(tc = "SREACH_KEY")
    private String sreachKey;
    @SLCDesc(tc = "VERSION")
    private Integer version;
    @SLCDesc(tc = "SORTING")
    private Integer sorting;
    @SLCDesc(tc = "IS_OLD")
    private boolean isOld;

    private ConfigEngineerClass parent;// 工程分类配置
    private List<ConfigEngineerClass> children = new ArrayList<>();// 工程分类配置

    private String templateIds;

    private List<String> templateIdArr = new ArrayList<>();

    public List<String> getTemplateIdArr() {
        return templateIdArr;
    }

    public void setTemplateIdArr(List<String> templateIdArr) {
        this.templateIdArr = templateIdArr;
    }

    public String getTemplateIds() {
        return templateIds;
    }

    public void setTemplateIds(String templateIds) {
        this.templateIds = templateIds;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getFeatureType() {
        return featureType;
    }

    public void setFeatureType(String featureType) {
        this.featureType = featureType;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getEditState() {
        return editState;
    }

    public void setEditState(Integer editState) {
        this.editState = editState;
    }

    public Date getLastModify() {
        return lastModify;
    }

    public void setLastModify(Date lastModify) {
        this.lastModify = lastModify;
    }

    public String getSreachKey() {
        return this.toString();
    }

    public void setSreachKey(String sreachKey) {
        this.sreachKey = sreachKey;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Integer getSorting() {
        return sorting;
    }

    public void setSorting(Integer sorting) {
        this.sorting = sorting;
    }

    public boolean getOld() {
        return isOld;
    }

    public void setOld(boolean old) {
        isOld = old;
    }

    public boolean isOld() {
        return isOld;
    }

    public ConfigEngineerClass getParent() {
        return parent;
    }

    public void setParent(ConfigEngineerClass parent) {
        this.parent = parent;
    }

    public List<ConfigEngineerClass> getChildren() {
        return children;
    }

    public void setChildren(List<ConfigEngineerClass> children) {
        this.children = children;
    }

    @Override
    public String toString() {
        return "ConfigEngineerClass{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", code='" + code + '\'' +
                ", parentId='" + parentId + '\'' +
                ", featureType='" + featureType + '\'' +
                ", createDate=" + createDate +
                ", editState=" + editState +
                ", lastModify=" + lastModify +
                ", sreachKey='" + sreachKey + '\'' +
                ", version=" + version +
                ", sorting=" + sorting +
                ", isOld='" + isOld + '\'' +
                '}';
    }
}
